/*
 * debug.h
 *
 *  Created on: Jun 8, 2011
 *      Author: timothy
 */

#ifndef DEBUG_H
#define DEBUG_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

#define PDPRINT_MAIN			1
#define PDPRINT_HASH 			2
#define PDPRINT_VERTEX 			4
#define PDPRINT_SHINGLE			8
#define PDPRINT_FILEIN			16
#define PDPRINT_UNION			32
#define PDPRINT_FILEOUT			64
#define PDPRINT_SHINGLE_2		128
#define PDPRINT_SPECIAL			256
#define PDPRINT_HASH_2			512
#define PDPRINT_DIAGNOSTICS		1024
#define PDPRINT_TIME			2048
#define PDPRINT_THREADING		4096
#define PDPRINT_SHINGLE_3		8192
#define PDPRINT_CURRENTBUG		(8192*2)
#define PDPRINT_UNION_2			(8192*4)


#define PDPRINT_ALL 			65535
#define PDPRINT_DEFAULT			(PDPRINT_MAIN | PDPRINT_DIAGNOSTICS | PDPRINT_TIME | PDPRINT_CURRENTBUG | PDPRINT_UNION_2)

#define DEBUG_LEVEL (PDPRINT_DEFAULT)

void pdprint(int debugLevel, const char *format, ...);

#endif
